<?php
	require "../modules/conn.php";
	// 获得要读取的图片id
	$imgid = $_REQUEST["imgid"];

	$sql = "select imgcontent, imgtype from t_image where imgid = $imgid";
	
	$result = mysqli_query($conn, $sql);
	
	$row = mysqli_fetch_assoc($result);
	
	// 这里的图片是以字符串格式存储在数据库中
	$imagestring = $row["imgcontent"];
	// 要做缩率图，必须将其转换为PHP中的图片资源
	$image = imagecreatefromstring($imagestring);
	// 获得原图的宽和高
	$image_w = imagesx($image);
	$image_h = imagesy($image);
	
	// 比例
	$p = 0;
	
	if ($image_w <=100 && $image_h<=100) {
		$p = 1;
	} else {
		// 我们要获知图片最宽或者最高值，然后将最大值作为边按比例缩放
		// 按宽作为最大比例
		if ($image_w >= $image_h) {
			$p = 100 / $image_w;
		}
		// 按高作为最大比例
		else {
			$p = 100 / $image_h;
		}
	}
	
	// 计算出缩率图的宽
	$thumbnail_w = $image_w * $p;
	// 计算出缩率图的高
	$thumbnail_h = $image_h * $p;
	
	// 根据宽高生成缩率图
	$thumbnail = imagecreatetruecolor($thumbnail_w, $thumbnail_h);

	imagecopyresampled($thumbnail, $image, 0, 0, 0, 0, $thumbnail_w, $thumbnail_h, $image_w, $image_h);
	
	$imgtype = $row["imgtype"];
	// 定义响应图片的类型
	header("content-type: $imgtype");
	
	// 根据图片类型调用不同的方法向浏览器输出该格式的图片
	if ($imgtype== "image/jpeg")
		imagejpeg($thumbnail, null, 60);		// 60是品质，质量只有缩率图的60%大小
	elseif ($imgtype== "image/gif")
		imagegif($thumbnail);
	elseif ($imgtype== "image/png")
		imagepng($thumbnail, null, 6);
	
?>